home *** CD-ROM | disk | FTP | other *** search
/ Night Owl 6 / Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso / 016a / gofer221.zip / HYPE < prev    next >
Text File  |  1991-11-20  |  3KB  |  57 lines

  1. ------------------------------------------------------------------------------
  2. Gofer 2.20 is an interactive functional programming environment (i.e. an
  3. interpreter) supporting a language based on the draft report for Haskell
  4. version 1.1, including the following features:
  5.  
  6.   o  Lazy evaluation, higher order functions, pattern matching etc...
  7.  
  8.   o  Wide range of built-in types with provision for defining new free
  9.      datatypes and type synonyms.
  10.  
  11.   o  Polymorphic type system with provision for overloading based on
  12.      a system of type classes.
  13.  
  14.   o  Full Haskell 1.1 expression and pattern syntax including lambda,
  15.      case, conditional and let expressions, list comprehensions, operator
  16.      sections, and wildcard, as and irrefutable patterns.
  17.  
  18.   o  Partial implementation of Haskell 1.1 facilities for I/O, enabling
  19.      the use of simple interactive programs and programs reading and writing
  20.      text files.
  21.  
  22.   o  User documentation, sample programs and source code freely available.
  23.  
  24.   o  Runs (and originally developed) on PC compatible computers, but
  25.      also works on Sun workstations.  Code should be portable to many
  26.      other kinds of machine.
  27.  
  28. Gofer is intended as an experimental language, particularly where type classes
  29. are involved.  Gofer extends the Haskell type class system in several ways:
  30.  
  31.   o  Type classes with multiple parameters are supported.
  32.  
  33.   o  Instances of type classes may be defined non-overlapping, but otherwise
  34.      arbitrary types.
  35.  
  36.   o  Predicates in contexts may involve arbitrary type expressions, not just
  37.      type variables as in Gofer.
  38.  
  39.   o  Basic approach to dictionary construction is different, based on the
  40.      approach I described in a posting to the Haskell mailing list earlier
  41.      this year.  The resulting system ensures that all dictionaries are
  42.      constructed before evaluation begins, avoiding repeated construction
  43.      and enabling the shared evaluation of overloaded constants in
  44.      dictionaries.
  45.  
  46. The most significant features of Haskell not currently supported are:
  47. modules, arrays, overloaded numeric constants, default declarations, derived
  48. instances, contexts in datatype definitions.
  49. ------------------------------------------------------------------------------
  50. And just in case you wondered:
  51.  
  52.    The name "Gofer" is not a trademark, registered  or  otherwise,  and
  53.    you are free to mention this name in published material, public  and
  54.    private correspondence, or other documents  without  restriction  or
  55.    obligation.
  56. ------------------------------------------------------------------------------
  57.